A typical data communication network comprises a number of packet handling devices interconnected by data links. The packet handling devices may comprise, for example, routers, switches, bridges, firewalls, gateways, hubs and the like. The data links may comprise physical media segments such as electrical cables of various types, fibre optic cables, and the like or transmission type media such as radio links, laser links, ultrasonic links, and the like. Various communication protocols may be used to carry data across the data links. Data can be carried between two points in such a network by traversing a path which includes one or more data links connecting the two points.
A large network can be very complicated. The correct functioning of such a network requires the proper functioning and cooperation of a large number of different systems. The systems may not be under common control. A network may provide less than optimal performance in delivering data packets between two points for any of a wide variety of reasons including complete or partial failure of a packet handling device, mis-configuration of hardware components, mis-configuration of software, and the like. These factors can interact with one another in subtle ways. Defects or mis-configurations of individual network components can have severe effects on the performance of the network.
The need for systems for facilitating the rapid identification of network faults has spawned a large variety of network testing systems. Some such systems track statistics regarding the behaviors or the network. Some such systems use RMON, which provides a standard set of statistics and control objects. The RMON standard for ethernet is described in RFC 1757. RMON permits the capture of information about network performance, including basic statistics such as such utilization and collisions in real time. There exist various software applications which use RMON to provide information about network performance. Such applications typically run on a computer connected to a network and receive statistics collected by one or more remote monitoring devices.
Some systems send packets, or bursts of packets, along one or more paths through the network. Information regarding the network's performance can be obtained by observing characteristics of the packets, such as measurement of numbers of lost packets or the dispersion of bursts or “trains” of packets as they propagate through the network.
There also exists a number of software network analysis tools that explicitly report network conditions as they are measured or discovered. Other tools compare historical network performance data to currently measured network performance data, and report any changes which are statistically significant.
In order to minimize the time and effort necessary to diagnose problems, attempts have been made to standardize the way in which network malfunctions are described. For example, R. Koodli and R. Ravikanth One-Way Loss Pattern Sample Metrics IETF Draft proposes a standard for describing patterns of packet loss. This document suggests a consistent, generalized nomenclature for describing the loss of any packet relative to any other (e.g. concepts of loss distance and loss period), in order to define the distribution of packet losses in a stream of packets over some period of time.
There is a need for tools which are useful in testing network performance and, in cases where the performance is less than optimal, determining why the performance is less than optimal. In general, there exists a need for network diagnostic tools which are capable of facilitating the identification of conditions which may cause data communication networks to exhibit certain behaviors.